package com.heima.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.heima.common.PageResult;
import com.heima.pojo.CollectReport;
import com.heima.pojo.Task;
import com.heima.pojo.TaskReportInfo;
import com.heima.pojo.dto.TaskDto;
import com.heima.pojo.vo.TaskCollectVo;
import com.heima.pojo.vo.TaskVo;
import com.heima.pojo.vo.UserWorkVo;

import java.util.List;
import java.util.Map;

public interface ITaskService extends IService<Task> {
    /**
     * 工单查询
     * @param start     开始时间
     * @param end       结束时间
     * @param innerCode 设备编号
     * @param userId    执行人Id
     * @param taskCode  工单编号
     * @param status    工单状态
     * @param isRepair  是否是维修工单
     * @return
     */
    PageResult<TaskVo> search(PageResult<TaskVo> pageResult, String start, String end, String innerCode, Integer userId, String taskCode, String status, Boolean isRepair);

    /**
     * 工单详情
     *
     * @return
     */
    TaskVo taskInfo(Long taskId);

    /**
     * 工单统计
     *
     * @return
     */
    List<TaskReportInfo> taskReportInfo(String start, String end);


    Boolean create(TaskDto taskDto);

    List<CollectReport> collectReport(String start, String end);

    List<Map<String, Object>> userWorkTop10(String start, String end, Boolean isRepair, Long regionId);

    UserWorkVo userWork(String start, String end, Integer userId);
}
